/**
 * @api post control.
 *
 * User: yunshengzhu
 * Date: 2020/12/1
 * Time: 下午2:53
 */
package control

import "card-platform/model"

// swagger:response okResp
type swaggOkResp struct {
}

// swagger:parameters paramReq
type swaggParamReq struct {
}

// swagger:parameters wxSignReq
type swaggWxSignReq struct {
	// in:body
	Data WxSignReq
}

type WxSignReq struct {
	Url string `json:"url"`
}

// swagger:parameters authorizationCodeReq
type swaggAuthorizationCodeReq struct {
	// in:body
	Data AuthorizationCodeReq
}

type AuthorizationCodeReq struct {
	// jsCode
	JsCode string `json:"jsCode"`
	// 卡号
	CardNumber string `json:"cardNumber"`
	// 卡密码
	CardPwd string `json:"cardPwd"`
}

// swagger:response userResp
type swaggUserRsp struct {
	// in:body
	Body struct {
		model.UserDb
	}
}

// swagger:parameters setPhoneReq
type swaggSetPhoneReq struct {
	// in:body
	Data SetPhoneReq
}

type SetPhoneReq struct {
	// jsCode
	SessionKey    string `json:"sessionKey"`
	EncryptedData string `json:"encryptedData"`
	Iv            string `json:"iv"`
	JsCode        string `json:"jsCode"`
	RawData       string `json:"rawData"`
	// 邀请码
	InvitationCode string `json:"invitationCode"`
}

// swagger:parameters applyMerchantReq
type swaggApplyMerchantReq struct {
	// in:body
	Data ApplyMerchantReq
}

type ApplyMerchantReq struct {
	// 姓名
	Name string `json:"name"`
	// 电话
	Phone string `json:"phone"`
	// 地址
	Address string `json:"address"`
	// 营业执照地址
	BusinessLicense string `json:"businessLicense"`
	// 纬度
	Lat string `json:"lat"`
	// 经度
	Lon string `json:"lon"`
	// 商户类型
	TypeId int `json:"typeId"`
	// 商户名称
	MName string `json:"mName"`
	// 商户简介
	Desc string `json:"desc"`
	// 商户logo
	Logo string `json:"logo"`
}

// swagger:parameters getMerchantReq
type swaggGetMerchantReq struct {
	// in:body
	Data GetMerchantReq
}

type GetMerchantReq struct {
	Mid int64 `json:"mid"`
}

// swagger:response merchantResp
type swaggMerchantRsp struct {
	// in:body
	Body struct {
		model.MerchantDb
	}
}

// swagger:parameters merchantTypeReq
type swaggMerchantTypeReq struct {
	// in:body
	Data MerchantTypeReq
}

type MerchantTypeReq struct {
}

// swagger:response merchantTypeListResp
type swaggMerchantTypeListResp struct {
	// in:body
	Body struct {
		List []model.MerchantTypeDb `json:"list"`
	}
}

// swagger:parameters merchantListReq
type swaggMerchantListReq struct {
	// in:body
	Data MerchantListReq
}

type MerchantListReq struct {
	// 状态 0申请 1审核通过 2审核未通过
	Status int `json:"status"`
	// 页码
	Page int `json:"page"`
	// 每页大小
	Size int `json:"size"`
}

// swagger:response merchantListResp
type swaggMerchantListResp struct {
	// in:body
	Body struct {
		Count int                `json:"count"`
		List  []model.MerchantDb `json:"list"`
	}
}

// swagger:parameters auditMerchantReq
type swaggAuditMerchantReq struct {
	// in:body
	Data AuditMerchantReq
}

type AuditMerchantReq struct {
	// 状态 1审核通过 2审核未通过
	Status int `json:"status"`
	// 商户Id
	Mid int64 `json:"mid"`
	// 失败原因
	Excuse string `json:"excuse"`
}

// swagger:parameters createProReq
type swaggCreateProReq struct {
	// in:body
	Data CreateProReq
}

type CreateProReq struct {
	// 商品名称
	ProName string `gorm:"column:pro_name" json:"proName"`
	// 商品价格 单位分
	Price int64 `gorm:"column:price" json:"price"`
	// 内容
	Content string `gorm:"column:content" json:"content"`
	// 图片
	Img []string `gorm:"column:img" json:"img"`
	// 是否线上 0线下 1线上
	Online int `gorm:"column:online" json:"online"`
}

// swagger:parameters delProReq
type swaggDelProReq struct {
	// in:body
	Data DelProReq
}

type DelProReq struct {
	// sku
	Sku int64 `gorm:"column:sku" json:"sku"`
}

// swagger:parameters updateProReq
type swaggUpdateProReq struct {
	// in:body
	Data UpdateProReq
}

type UpdateProReq struct {
	// 商品Id
	Sku int64 `json:"sku"`
	// 商品名称
	ProName string `gorm:"column:pro_name" json:"proName"`
	// 商品价格 单位分
	Price int64 `gorm:"column:price" json:"price"`
	// 内容
	Content string `gorm:"column:content" json:"content"`
	// 图片
	Img []string `gorm:"column:img" json:"img"`
	// 是否线上 0线下 1线上
	Online int `gorm:"column:online" json:"online"`
}

// swagger:parameters proDetailsReq
type swaggProDetailsReq struct {
	// in:body
	Data ProDetailsReq
}

type ProDetailsReq struct {
	// 商品sku
	Sku int64 `json:"sku"`
}

// swagger:response proResp
type swaggProResp struct {
	// in:body
	Body struct {
		model.ProDb
	}
}

// swagger:response proListResp
type swaggProLispResp struct {
	// in:body
	Body struct {
		Count int64         `json:"count"`
		List  []model.ProDb `json:"list"`
	}
}

// swagger:parameters proListReq
type swaggProListReq struct {
	// in:body
	Data ProListReq
}

type ProListReq struct {
	// 商户名称
	Mid int64 `json:"mid"`
	// 关键字
	Key string `json:"key"`
	// 页码
	Page int `json:"page"`
	// 大小
	Size int `json:"size"`
	// 状态 1通过 0待审核 2审核未通过 -1所有
	Status int `json:"status"`
	// 1线上 0 线下 -1所有
	Online int `json:"online"`
}

// swagger:parameters buyCardReq
type swaggBuyCardReq struct {
	// in:body
	Data BuyCardReq
}

type BuyCardReq struct {
	// 数量 必须是100的整数倍
	Num int64 `json:"num"`
}

// swagger:response payResp
type swaggPayResp struct {
	// in:body
	Body struct {
		OrderNumber string      `json:"orderNumber"`
		PayAmount   uint64      `json:"payAmount"`
		Desc        string      `json:"desc"`
		Wx          interface{} `json:"wx"`
	}
}

// swagger:parameters cardFeedReq
type swaggCardFeedReq struct {
	// in:body
	Data CardFeedReq
}

type CardFeedReq struct {
	// 卡号
	CardNumber string `json:"cardNumber"`
}

// swagger:response cardFeedResp
type swaggCardFeedResp struct {
	// in:body
	Body struct {
		CardFeedResp
	}
}

type CardFeedResp struct {
	// 卡号
	CardNumber string `json:"cardNumber"`
	// 卡密
	CardPwd string `json:"cardPwd"`
}

// swagger:parameters cardCollectReq
type swaggCardCollectReq struct {
	// in:body
	Data CardCollectReq
}

type CardCollectReq struct {
}

// swagger:response cardCollectResp
type swaggCardCollectResp struct {
	// in:body
	Body struct {
		CardCollectResp
	}
}

type CardCollectResp struct {
	// 总卡量
	CardNum int64 `json:"cardNum"`
	// 送卡量
	CardFeedNum int64 `json:"cardFeedNum"`
}

// swagger:parameters cardListReq
type swaggCardListReq struct {
	// in:body
	Data CardListReq
}

type CardListReq struct {
	// 页码
	Page int `json:"page"`
	// 页面大小
	Size int `json:"size"`
	// 状态 状态 0正常 1已使用 2已送出 3已作废
	Status []int64 `json:"status"`
}

// swagger:response cardListResp
type swaggCardListResp struct {
	// in:body
	Body struct {
		CardListResp
	}
}

type CardListResp struct {
	// 数量
	Count int64 `json:"count"`
	// 卡列表
	List []model.CardDb `json:"list"`
}

// swagger:parameters nearbyMerchantReq
type swaggNearbyMerchantReq struct {
	// in:body
	Data NearbyMerchantReq
}

type NearbyMerchantReq struct {
	// 页码
	Page int `json:"page"`
	// 页面大小
	Size int `json:"size"`
	// 经度
	Lon string `json:"lon"`
	// 纬度
	Lat string `json:"lat"`
	// 排序 1距离升序 2距离降序 3价格升序 4价格降序 5销量升序 销量降序
	Order int `json:"order"`
	// 类型typeId 0不限制
	TypeId int `json:"typeId"`
}

// swagger:parameters prosReq
type swaggProsReq struct {
	// in:body
	Data ProsReq
}

type ProsReq struct {
	// 页码
	Page int `json:"page"`
	// 页面大小
	Size int `json:"size"`
	// 经度
	Lon string `json:"lon"`
	// 纬度
	Lat string `json:"lat"`
	// 排序 1价格升序 2价格降序 3销量升序 4销量降序 5距离升序 6距离降序
	Order int `json:"order"`
	// 商户Id 0为所有商户
	Mid int64 `json:"mid"`
	// 是否线上 1线上 0线下
	Online int `json:"online"`
}

// swagger:response prosResp
type swaggProsResp struct {
	// in:body
	Body struct {
		ProsResp
	}
}

type ProsResp struct {
	// 数量
	Count int64 `json:"count"`
	// 卡列表
	List []model.VProDb `json:"list"`
}

// swagger:parameters createLogisticsReq
type swaggCreateLogisticsReq struct {
	// in:body
	Data CreateLogisticsReq
}

type CreateLogisticsReq struct {
	LogisticsId int64 `json:"logisticsId"`
	// 收货人姓名
	Name string `json:"name"`
	// 详细地址
	Address string `json:"address"`
	// 省
	ProvinceName string `json:"provinceName"`
	// 市
	CityName string `json:"cityName"`
	// 区
	CountyName string `json:"countyName"`
	// 街道
	TownName string `json:"townName"`
	// 联系电话
	Mobile string `json:"mobile"`
	// 默认地址 1设置为默认 0非默认
	Main int `json:"main"`
	// 区域编码
	AreaCode string `json:"areaCode"`
	// 邮政编码
	PostalCode string `json:"postalCode"`
}

// swagger:parameters delLogisticsReq
type swaggDelLogisticsReq struct {
	// in:body
	Data DelLogisticsReq
}

type DelLogisticsReq struct {
	// 收货地址Id
	LogisticsId int64 `json:"logisticsId"`
}

// swagger:parameters logisticsDetailsReq
type swaggLogisticsDetailsReq struct {
	// in:body
	Data LogisticsDetailsReq
}

type LogisticsDetailsReq struct {
	// 收货地址Id
	LogisticsId int64 `json:"logisticsId"`
}

// swagger:parameters logisticsListReq
type swaggLogisticsListReq struct {
	// in:body
	Data LogisticsListReq
}

type LogisticsListReq struct {
}

// swagger:response logisticsListResp
type swaggLogisticsListResp struct {
	// in:body
	Body struct {
		List []model.LogisticsDb `json:"list"`
	}
}

// swagger:response logisticsDetailsResp
type swaggLogisticsDetailsResp struct {
	// in:body
	Body struct {
		model.LogisticsDb
	}
}

// swagger:parameters buyProReq
type swaggBuyProReq struct {
	// in:body
	Data BuyProReq
}

type BuyProReq struct {
	// 商品列表
	SkuList []ProList `json:"skuList"`
	// 收货地址Id
	LogisticsId int64 `json:"logisticsId"`
}

// swagger:parameters prepositionBuyProReq
type swaggPrepositionBuyProReq struct {
	// in:body
	Data PrepositionBuyProReq
}

type PrepositionBuyProReq struct {
	// 商品列表
	SkuList []ProList `json:"skuList"`
}

// swagger:parameters getOrderPayReq
type swaggGetOrderPayReq struct {
	// in:body
	Data GetOrderPayReq
}

type GetOrderPayReq struct {
	// 订单号
	OrderNumber string `json:"orderNumber"`
}

type ProList struct {
	// 商品sku
	Sku int64 `json:"sku"`
	// 购买数量
	Num int64 `json:"num"`
}

// swagger:parameters proCheckReq
type swaggProCheckReq struct {
	// in:body
	Data ProCheckReq
}

type ProCheckReq struct {
	// 商品Id
	Sku int64 `json:"sku"`
	// 状态 1审核通过 2审核不通过
	Status int `gorm:"column:status" json:"status"`
	// 内容
	Excuse string `gorm:"column:excuse" json:"excuse"`
}

// swagger:parameters userInfoReq
type swaggUserInfoReq struct {
	// in:body
	Data UserInfoReq
}

type UserInfoReq struct {
}


// swagger:parameters setUserPhoneReq
type swaggSetUserPhoneReq struct {
	// in:body
	Data SetUserPhoneReq
}

type SetUserPhoneReq struct {
	// 手机号
	Phone string `json:"phone"`
}


// swagger:parameters userOrderListReq
type swaggUserOrderListReq struct {
	// in:body
	Data UserOrderListReq
}

type UserOrderListReq struct {
	// 页码
	Page int `json:"page"`
	// 大小
	Size int `json:"size"`
	// 订单状态 -1所有 0待支付 1待发货 2待收货 3已收货
	Status int `json:"status"`
	// 使用状态
	QrStatus int `json:"qrStatus"`
	// 类型 1卡 2线下 3线上
	Typ int `json:"typ"`
}

// swagger:response userOrderListResp
type swaggUserOrderListResp struct {
	// in:body
	Body struct {
		UserOrderListResp
	}
}

type UserOrderListResp struct {
	// 数量
	Count int64 `json:"count"`
	// 列表
	List []model.OrderDb `json:"list"`
}

// swagger:response userOrderDetailResp
type swaggUserOrderDetailResp struct {
	// in:body
	Body struct {
		model.OrderDb
	}
}

// swagger:parameters userOrderDetailReq
type swaggUserOrderDetailReq struct {
	// in:body
	Data UserOrderDetailReq
}

type UserOrderDetailReq struct {
	// 订单号
	OrderNumber string `json:"orderNumber"`
}

// swagger:parameters confirmReceiptReq
type swaggConfirmReceiptReq struct {
	// in:body
	Data ConfirmReceiptReq
}

type ConfirmReceiptReq struct {
	// 订单号
	OrderNumber string `json:"orderNumber"`
}

// swagger:parameters subordinateListReq
type swaggSubordinateListReq struct {
	// in:body
	Data SubordinateListReq
}

type SubordinateListReq struct {
	// 页码
	Page int `json:"page"`
	// 大小
	Size int `json:"size"`
}

// swagger:response subordinateListResp
type swaggSubordinateListResp struct {
	// in:body
	Body struct {
		SubordinateListResp
	}
}

type SubordinateListResp struct {
	// 数量
	Count int64 `json:"count"`
	// 列表
	List []SubordinateList `json:"list"`
}

type SubordinateList struct {
	// 昵称
	Nickname string `json:"nickname"`
	// 头像
	HeadImg string `json:"headImg"`
	// 注册时间
	CreateTime int64 `json:"createTime"`
}

// swagger:parameters gainDetailReq
type swaggGainDetailReq struct {
	// in:body
	Data GainDetailReq
}

type GainDetailReq struct {
	// 页码
	Page int `json:"page"`
	// 列表
	Size int `json:"size"`
	// 类型 1 售货收益 2 平台收益 3 会员收益 4 推广收益
	Typ []int `json:"typ"`
}

// swagger:response gainDetailResp
type swaggGainDetailResp struct {
	// in:body
	Body struct {
		GainDetailResp
	}
}

type GainDetailResp struct {
	// 总金额
	SumAmount int64 `json:"sumAmount"`
	// 分享佣金
	ShareAmount int64 `json:"shareAmount"`
	// 卖货金额
	SellAmount int64 `json:"sellAmount"`
	// 收益明细列表
	List []model.UserTransDb `json:"list"`
}

// swagger:parameters useOrderReq
type swaggUseOrderReq struct {
	// in:body
	Data UseOrderReq
}

type UseOrderReq struct {
	// 订单号
	OrderNumber string `json:"orderNumber"`
}

// swagger:response useOrderResp
type swaggUseOrderResp struct {
	// in:body
	Body struct {
		UseOrderResp
	}
}

type UseOrderResp struct {
	// 生成二维码字符串
	QrCode string `json:"qrCode"`
	// 商户信息
	Merchant model.MerchantDb `json:"merchant"`
}

// swagger:parameters getQrDetailReq
type swaggGetQrDetailReq struct {
	// in:body
	Data GetQrDetailReq
}

type GetQrDetailReq struct {
	// 二维码
	QrCode string `json:"qrCode"`
}

// swagger:response getQrDetailResp
type swaggGetQrDetailResp struct {
	// in:body
	Body struct {
		OrderDetail model.OrderDb `json:"orderDetail"`
	}
}

// swagger:parameters verifyQrReq
type swaggVerifyQrReq struct {
	// in:body
	Data VerifyQrReq
}

type VerifyQrReq struct {
	// 二维码
	QrCode string `json:"qrCode"`
}

// swagger:parameters merchantOrderListReq
type swaggMerchantOrderListReq struct {
	// in:body
	Data MerchantOrderListReq
}

type MerchantOrderListReq struct {
	// 页码
	Page int `json:"page"`
	// 大小
	Size int `json:"size"`
	// 订单状态 -1所有 0待支付 1待发货 2待收货 3已收货
	Status int `json:"status"`
	// 关键字
	Key string `json:"key"`
	// 1线上 0线下
	Online int `json:"online"`
}

// swagger:response merchantOrderListResp
type swaggMerchantOrderListResp struct {
	// in:body
	Body struct {
		MerchantOrderListResp
	}
}

type MerchantOrderListResp struct {
	// 数量
	Count int64 `json:"count"`
	// 列表
	List []model.OrderDb `json:"list"`
}

// swagger:parameters merchantOrderDetailReq
type swaggMerchantOrderDetailReq struct {
	// in:body
	Data MerchantOrderDetailReq
}

type MerchantOrderDetailReq struct {
	// 订单号
	OrderNumber string `json:"orderNumber"`
}

// swagger:response merchantOrderDetailResp
type swaggMerchantOrderDetailResp struct {
	// in:body
	Body struct {
		List []model.OrderDetailDb `json:"list"`
	}
}

// swagger:parameters deliverOrderReq
type swaggDeliverOrderReq struct {
	// in:body
	Data DeliverOrderReq
}

type DeliverOrderReq struct {
	// 订单号
	OrderNumber string `json:"orderNumber"`
	// 快递公司
	ExpressCompany string `json:"expressCompany"`
	// 运单号
	WaybillNumber string `json:"waybillNumber"`
}

// swagger:parameters editOrderPriceReq
type swaggEditOrderPriceReq struct {
	// in:body
	Data EditOrderPriceReq
}

type EditOrderPriceReq struct {
	// 订单号
	OrderNumber string `json:"orderNumber"`
	// 价格
	PayAmount uint64 `json:"payAmount"`
}

// swagger:parameters userWithdrawListReq
type swaggUserWithdrawListReq struct {
	// in:body
	Data UserWithdrawListReq
}

type UserWithdrawListReq struct {
	// 页码
	Page int `json:"page"`
	// 大小
	Size int `json:"size"`
}

// swagger:response userWithdrawListResp
type swaggUserWithdrawListResp struct {
	// in:body
	Body struct {
		UserWithdrawListResp
	}
}

type UserWithdrawListResp struct {
	// 总金额
	SumAmount int64 `json:"sumAmount"`
	// 已到账
	Amount int64 `json:"amount"`
	// 在途金额
	OnAmount int64 `json:"onAmount"`
	// 用户当前余额
	UserAmount uint64 `json:"userAmount"`
	// 数量
	Count int64 `json:"count"`
	// 列表
	List []model.UserWithdrawDb `json:"list"`
}

// swagger:response prepositionBuyProResp
type swaggPrepositionBuyProResp struct {
	// in:body
	Body struct {
		PrepositionBuyProResp
	}
}

type PrepositionBuyProResp struct {
	// 地址Id
	LogisticsId int64 `json:"logisticsId"`
	// 地址数据
	Logistics model.LogisticsDb `json:"logistics"`
	// 订单金额
	Amount int64 `json:"amount"`
	// 支付金额
	PayAmount int64 `json:"payAmount"`
	// 商品列表
	ProList []model.OrderDetailDb `json:"proList"`
}

// swagger:parameters applyUserWithdrawReq
type swaggApplyUserWithdrawReq struct {
	// in:body
	Data ApplyUserWithdrawReq
}

type ApplyUserWithdrawReq struct {
	// 提现金额,单位分
	Amount int64 `json:"amount"`
	// 姓名,当前微信认证的实名认证姓名
	Username string `json:"username"`
}
